
var prefix = "/jzweb/memberApply";
$(function() {
	load();
});

function load() {
	$('#exampleTable')
			.bootstrapTable(
					{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/selMemberApplyList", // 服务器数据的加载地址
					//	showRefresh : true,
					//	showToggle : true,
					//	showColumns : true,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						singleSelect : false, // 设置为true将禁止多选
						contentType: 'multipart/form-data',
						// contentType :'application/json',

						// //发送到服务器的数据编码类型
						pageNumber : 1, // 如果设置了分页，每页数据条数
						pageSize : 10, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						// showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
						queryParamsType : "",
						// //设置为limit则会发送符合RESTFull格式的参数
						queryParams : function(params) {
							return {
								//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
								current: params.pageNumber?parseInt(params.pageNumber):null,
                                size: params.pageSize?parseInt(params.pageSize):null,
								unitType:$('#unitType').val()?parseInt($('#unitType').val()):-1,
								name:$('#name').val(),
								checkStatus:$('#checkStatus').val()?parseInt($('#checkStatus').val()):-1,
								checkResult:$('#checkResult').val()?parseInt($('#checkResult').val()):-1
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						responseHandler : function(res){
                            console.log(res);
                            return {
                                "total": res.data.records.length>0?res.data.total:0,//总数
                                "rows": res.data.records   //数据
                             };
                        },
						columns : [
								{
									field : 'unitType',
									title : '申请类型',
									formatter: function (value, row, index) {
										if (value == 0) {
											return '<span class="label label-success">职业学校</span>';
										} else if (value == 1) {
											return '<span class="label label-danger">科研机构</span>';
										} else if (value == 2) {
											return '<span class="label label-danger">行业机构组织</span>';
										} else if (value == 3) {
											return '<span class="label label-danger">上下游企业</span>';
										} else if (value == 4) {
											return '<span class="label label-danger">其他单位</span>';
										}
									}
								},
								{
									field : 'name',
									title : '单位名称'
								},
								{
									field : 'intention',
									title : '申请意向',
									formatter: function (value, row, index) { //（常务副理事长单位，副理事长单位，常务理事单位，理事单位）
										if (value == 0) {
											return '<span class="label label-success">常务副理事长单位</span>';
										} else if (value == 1) {
											return '<span class="label label-danger">副理事长单位</span>';
										} else if (value == 2) {
											return '<span class="label label-danger">常务理事单位</span>';
										} else if (value == 3) {
											return '<span class="label label-danger">理事单位</span>';
										}
									}
								},
								{
									field : 'address',
									title : '单位地址'
								},{
									field : 'checkStatus',
									title : '审核状态',
									formatter: function (value, row, index) { //（0待审核，1已审核）
										if (value == 0) {
											return '<span class="label label-success">待审核</span>';
										} else if (value == 1) {
											return '<span class="label label-danger">已审核</span>';
										}
									}
								},
								{
									field : 'checkResult',
									title : '审核结果',
									formatter: function (value, row, index) { //（0通过，1拒绝）
										if (value == 0&&row.checkStatus == 1) {
											return '<span class="label label-success">通过</span>';
										} else if (value == 1&&row.checkStatus == 1) {
											return '<span class="label label-danger">拒绝</span>';
										}
									}
								},
								{
									field : 'createDate',
									title : '申请时间'
								},
								{
									title : '操作',
									field : 'id',
									align : 'center',
									formatter : function(value, row, index) {
										var a = '<a class="btn btn-success btn-sm '+s_getInfo_h+'" href="#" title="详情" mce_href="#" onclick="details(\''+row.id+'\')">详情</a>';
										var b = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="编辑" onclick="edit(\''
												+ row.id
												+ '\')"><i class="fa fa-edit"></i></a>';
										var c = '<a class="btn btn-warning btn-sm '+s_remove+'" href="#" title="物理删除"  mce_href="#" onclick="remove(\''
												+ row.id
												+ '\')"><i class="fa fa-trash-o"></i>物理删除</a>';
										var c2 = '<a class="btn btn-warning btn-sm '+s_remove_h+'" href="#" title="逻辑删除"  mce_href="#" onclick="removeById(\''
											+ row.id
											+ '\')"><i class="fa fa-trash-o"></i></a>';
										let d = '<a class="btn btn-danger btn-sm '+s_check_h+'" href="#" title="通过" mce_href="#" onclick="checkMemberApply(\''+row.id+'\',0)"><i class="fa fa-check"></i>通过</a>';
										let e = '<a class="btn btn-danger btn-sm '+s_check_h+'" href="#" title="拒绝" mce_href="#" onclick="checkMemberApply(\''+row.id+'\',1)"><i class="fa fa-times"></i>拒绝</a>';
										if (row.checkStatus==0){
											return a + b + c+c2 + d + e;
										}else if(row.checkResult==0){
											return a + c+c2 ;
										}else{
											return a + b + c+c2 ;
										}
									}
								} ]
					});
}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}
function edit(id) {
	const index = layer.open({
		type: 2,
		title: '编辑',
		maxmin: true,
		shadeClose: false, // 点击遮罩关闭层
		area: ['100%', $(document).height()+'px'],
		content: prefix + '/edit/' + id // iframe的url
	});
	layer.full(index);
}
function details(id) {
	const index = layer.open({
		type: 2,
		title: '详情',
		maxmin: true,
		shadeClose: false, // 点击遮罩关闭层
		area: ['100%', $(document).height()+'px'],
		content: prefix + '/details/' + id // iframe的url
	});
	layer.full(index);
}
function checkMemberApply(id,type=0){
	layer.confirm(`您确定要${type==0?'通过':'拒绝'}该申请信息吗？`, {
		btn1:function(index){
			if(type==1){
				layer.closeAll();
				layer.prompt({title: '请输入拒绝原因', formType: 2}, function(value, index, elem){
					console.log(value, index, elem)
					if(value === '') return elem.focus();
					var loadIndex = layer.msg('请稍后...', {
						icon: 16,
						shade: 0.01,
						time: 1000*30
					});
					$.ajax({
						url : prefix+"/checkMemberApply",
						type : "get",
						data : {
							'id' : id,
							reason : value,checkResult:type
						},
						success : function(r) {
							layer.close(loadIndex)
							if (r.code==0) {
								layer.closeAll();
								layer.msg(r.msg);
								reLoad();
							}else{
								layer.closeAll();
								layer.msg(r.msg);
							}
						}
					});
					// // 关闭 prompt
					layer.closeAll();
				});
				return
			}
			var loadIndex2 = layer.msg('请稍后...', {
				icon: 16,
				shade: 0.01,
				time: 1000*30
			});
			$.ajax({
				url : prefix+"/checkMemberApply",
				type : "get",
				data : {
					'id' : id,checkResult:type,reason:''
				},
				success : function(r) {
					layer.close(loadIndex2)
					if (r.code==0) {
						layer.closeAll();
						layer.msg(r.msg);
						reLoad();
					}else{
						layer.closeAll();
						layer.msg(r.msg);
					}
				}
			});
		}
	});
}
function removeById(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		let loadIndex = layer.msg('请稍后...', {
			icon: 16,
			shade: 0.01,
			time: 1000*30
		});
		$.ajax({
			url : prefix+"/removeById",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				layer.close(loadIndex)
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}
function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		let loadIndex = layer.msg('请稍后...', {
			icon: 16,
			shade: 0.01,
			time: 1000*30
		});
		$.ajax({
			url : prefix+"/batchRemove",
			type : "post",
			data : {
				'ids' : [id]
			},
			success : function(r) {
				layer.close(loadIndex)
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}
function exportList() {
	layer.confirm('您确定要导出表单信息吗？', {
		btn1:function(index){
			window.location.href = prefix+'/downloadMemberApply';
			layer.close(index)
		}
	});
}